草庐IT

Java getNodeName 和命名空间

全部标签

c++ - 函数所需的堆栈空间会影响 C/C++ 中的内联决策吗?

函数所需的大量堆栈空间会阻止它被内联吗?例如,如果我在堆栈上有一个10k的自动缓冲区,是否会降低函数被内联的可能性?intinlineme(intargs){charsvar[10000];returnstringyfunc(args,svar);}我更关心gcc,但icc和llvm也很高兴知道。我知道这并不理想,但我很好奇。代码在缓存上也可能很糟糕。 最佳答案 是的,内联与否取决于函数的复杂性、堆栈和寄存器的使用情况以及进行调用的上下文。这些规则依赖于编译器和目标平台。当性能很重要时,请始终检查生成的程序集。比较thisversi

c++ - 命名空间别名范围问题

我有一个头文件,我希望在其中定义类时使用namespace别名。但是,我不想将此别名暴露给包含头文件的任何内容。//foo.hnamespacequx=boost::std::bar::baz::qux;//!exposedtotheworldclassfoo{//can'tputanamespacealiashere//stuffusingqux::};我如何才能为类声明命名空间而不会泄露到任何地方? 最佳答案 namespaceMyClassSpace{namespacequx=boost::std::bar::baz::qux

【送书活动】用“价值”的视角来看安全:《构建新型网络形态下的网络空间安全体系》

文章目录每日一句正能量前言本书概况赠书活动目录每日一句正能量成功与失败,幸福与不幸,在各自心里的定义都不会相同。前言过去,安全从未如此复杂;现在,安全从未如此重要;未来,安全更需如此洞擦。经过30多年的发展,安全已经深入到信息化的方方面面,形成了一个庞大的产业和复杂的理论、技术和产品体系。因此,需要站在网络空间的高度看待安全与网络的关系,站在安全产业的高度看待安全厂商与客户的关系,站在企业的高度看待安全体系设计与安全体系建设之间的关系。这是对安全行业的一次以网络空间为框架,以思考为刀,以安全产品与技术为刃,以企业安全体系建设为牛的深度解构与重构。![在这里插入图片描述](https://img

c++ - 为什么 Google 在成员变量之后命名访问器和修改器?

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Function_Names#Function_NamesRegularfunctionshavemixedcase;accessorsandmutatorsmatchthenameofthevariable:MyExcitingFunction(),MyExcitingMethod(),my_exciting_member_variable(),set_my_exciting_member_variable().对用户隐藏实现细节,这样他/她就

c++ - 在 C++ 中命名 int 或 char 变量时, "n"或 "ch"前缀是常见前缀吗?

我目前正在浏览learncpp.com的C++教程,我看到他们的变量命名趋势是使用“n”前缀(即intnValue)和“ch”前缀为char变量(即charchOperation)命名int变量。这是不是我现在应该养成的行业普遍现象? 最佳答案 Isthissomethingthatiscommonplaceintheindustry?由于对somewhatmoreusefulconvention的误解,这种做法在二十或三十年前的Microsoft某些部门很常见。公司其他部分使用(标记变量表明它们的用途,在弱类型语言中,这有助于避免

c++ - C++0x 的 lambda 表达式没有命名类型是不是很糟糕?

我最近在互联网上阅读了一些关于lambda表达式的文章,在我看来,C++0x的lambda表达式不会有一个(或多个)单独绑定(bind)到lambda表达式的类型——在其他情况下换句话说,lambda表达式将只匹配模板参数或auto参数/变量。发生了什么,如所述here,是吗Compilersthatsupportlambdaswillcreateauniqueanonymousfunctortypeforeachlambdaexpression我的问题是,这是一件坏事吗?使用一些只匹配lambda表达式的关键字是否有意义,例如lambda,其工作方式如下voidf(std::func

c# - 使用命名管道的两种 C++ 到 C# 通信

我正在尝试在VC++6应用程序和C#应用程序之间进行双向通信。我正在使用命名管道。在我的C++代码中,我可以从C#客户端读取消息,但随后服务器“死机”,我必须重新启动它。我想要做的是让C#应用程序连接到C++应用程序,请求状态,然后C++应用程序关闭并检查状态,然后返回“忙”或“空闲”。我无法将任何内容写回C#客户端,因为它表示连接已关闭。我注释掉的一些东西是我已经尝试过的东西。C++代码(作为线程启动)UINTCNamedPipe::StartNamedPipeServer(){LPTSTRlpszPipename="\\\\.\\pipe\\SAPipe";HANDLEhPipe;

c++ - 重命名()返回-1。如何知道重命名失败的原因?

我正在使用c++stdio.h的intrename(constchar*oldname,constchar*newname);rename()函数重命名文件夹,但有时它无法重命名文件夹并返回-1。有什么方法可以知道rename()失败的原因吗?通过任何C++函数了解此错误解释的任何方式。 最佳答案 应该可以从errno.h中得到具体错误#include#include...if(rename("old","new")==-1){std::coutrename的errno错误代码是特定于操作系统的:LinuxerrorcodesWin

C++ Cosine 在没有 std 命名空间的情况下工作——为什么?

这个问题在这里已经有了答案:Whyaresomefunctionsinnotinthestdnamespace?(3个答案)关闭8年前。我有一个相当大的应用程序,我在没有std命名空间的情况下工作,我注意到我没有包括std::cos或std::sin但我得到了正确的结果。为什么?一些精简代码的例子是:#include#include#include#include//#include#include#include#includeusingstd::cout;usingstd::endl;intmain(){doublepi=4*(atan(1));cout我已经把所有的标题都留在里面

c++ - 使用命名空间标准和库

为什么我们既需要“头文件”又需要usingnamespace任何库函数的标记才能正确执行。例如cout除非我们使用iostream否则将无法工作.除非我们使用“使用命名空间标准”,否则它也不会工作。我的问题是为什么我们需要两者的结合usingnamespacestd以及#include对于cout执行成功? 最佳答案 包含库header可使库功能对您的程序代码可见。否则,您的程序甚至不知道库的存在。这是必要的部分。编写usingnamespacestd只允许您编写cout而不是全名std::cout。这是一个方便,仅此而已。